package cn.aopmin.java.api.lang;

/**
 * 创建线程第二种方式：实现Runnable接口
 * @author 白豆五
 * @since 2025/1/29
 */
public class ThreadXCreatStartTest2 {
    public static void main(String[] args) {
        //创建Runnable接口实现类对象
        CustomRunnable customRunnable = new CustomRunnable();
        //创建Thread对象，将Runnable实现类对象作为方法入参传递
        Thread thread = new Thread(customRunnable);
        //开启线程
        thread.start();
        for (int i = 0; i < 10; i++) {
            String str = String.format("主线程 [%s] 输出：%d", Thread.currentThread().getName(), i);
            System.out.println(str);
        }
    }
}

class CustomRunnable implements Runnable {

    /**
     * 线程执行的任务方法
     */
    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            String str = String.format("子线程 [%s] 输出：%d", Thread.currentThread().getName(), i);
            System.out.println(str);
        }
    }
}